package xaj.scc.ast;

import polyglot.ast.ClassBody;

/**
 * This class represent a syntax class body. It has a number of passes declaration,
 * a syntax declaration and class members declarations.
 * @author Leonardo Reis
 */

public interface SyntaxClassBody extends ClassBody,Visitable {
	public NumberOfPasses getNumberOfPasses();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param number
	 * @return
	 */
	public SyntaxClassBody setNumberOfPasses(NumberOfPasses number);
	public SyntaxDeclaration getSyntaxDeclaration();
	/**
	 * Seguindo o padrão do polyglot, onde toda vez que o nó é alterado um novo é retornado
	 *  com os valores atualizados
	 * @param sd
	 * @return
	 */
	public SyntaxClassBody setSyntaxDeclaration(SyntaxDeclaration sd);
	
}
